// pages/order/order.js
const app = getApp();
let db = wx.cloud.database()
Page({
  data: {
    school: ["泉州校区", "厦门校区"],
    hitch: ['重装系统', '清灰换硅脂', '硬件更换', '软件下载', '其他故障'],
    product: ['手机','电脑','数码','交互设备','配件','其他'],
    time: ['12:00-14:00', '17:00-19:00', '任意时间段', ],
    imgList: [],
    fileIDs: [],
    fix: true,
    evaluateChecked: false,
    QCChecked: true
  },

  // 选择日期
  bindDateChange(e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      date: e.detail.value
    })
  },
  // 选择校区
  bindSchoolChange(e) {
    console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      schoolIdx: e.detail.value
    })
  },
  // 故障分类
  bindHitchChange(e) {
    this.setData({
      hitchIdx: e.detail.value
    })
  },
  //产品分类
  bindProductChange(e) {
    this.setData({
      productIdx: e.detail.value
    })
  },
  // 选择时间
  bindTimeChange(e) {
    console.log('选择时间', e.detail.value)
    this.setData({
      timeIdx: e.detail.value
    })
  },

  //提交订单
  publish(e) {
    console.log("提交订单", e.detail.value)
    let bean = e.detail.value
    if (!bean.name) {
      wx.showToast({
        icon: 'error',
        title: '填写姓名',
      })
    } else if (!bean.phone) {
      wx.showToast({
        icon: 'error',
        title: '填写手机',
      })
    } else if (!bean.address) {
      wx.showToast({
        icon: 'error',
        title: '填写地址',
      })
    } else if (!bean.school) {
      wx.showToast({
        icon: 'error',
        title: '选择校区',
      })
    } else if (!bean.hitch) {
      wx.showToast({
        icon: 'error',
        title: '选择故障类型',
      })
    } else if (!bean.desc) {
      wx.showToast({
        icon: 'error',
        title: '填写问题描述',
      })
    } else if (!bean.date) {
      wx.showToast({
        icon: 'error',
        title: '选择日期',
      })
    } else if (!bean.time) {
      wx.showToast({
        icon: 'error',
        title: '选择时间',
      })
    } else {
      //图片相关
      let imgList = this.data.imgList
      if (!imgList || imgList.length < 1) {
        wx.showToast({
          icon: "none",
          title: '请选择图片'
        })
        return
      }
      wx.showLoading({
        title: '发布中...',
      })

      const promiseArr = []
      //只能一张张上传 遍历临时的图片数组
      for (let i = 0; i < this.data.imgList.length; i++) {
        let filePath = this.data.imgList[i]
        let suffix = /\.[^\.]+$/.exec(filePath)[0]; // 正则表达式，获取文件扩展名
        //在每次上传的时候，就往promiseArr里存一个promise，只有当所有的都返回结果时，才可以继续往下执行
        promiseArr.push(new Promise((reslove, reject) => {
          wx.cloud.uploadFile({
            cloudPath: new Date().getTime() + suffix,
            filePath: filePath, // 文件路径
          }).then(res => {
            // get resource ID
            console.log("上传结果", res.fileID)
            this.setData({
              fileIDs: this.data.fileIDs.concat(res.fileID)
            })
            reslove()
          }).catch(error => {
            console.log("上传失败", error)
          })
        }))
      }

      Promise.all(promiseArr).then(res => {
        bean.status = 0
        bean.imgs = this.data.fileIDs,
          bean._createTime = new Date().getTime() //创建的时间
        db.collection("order").add({
          data: bean
        }).then(res => {
          console.log('添加结果', res)
          wx.hideLoading()
          wx.showToast({
            title: '发布成功',
          })
          setTimeout(() => {
            wx.switchTab({
              url: '/pages/me/me',
            })
          }, 1000)
        }).catch(res => {
          console.log('添加失败', res)
          wx.hideLoading()
          wx.showToast({
            icon: 'none',
            title: '网络不给力....'
          })
        })
      })


    }
  },
  //选择图片
  ChooseImage() {
    wx.chooseImage({
      count: 3 - this.data.imgList.length, //最多选择3张
      sizeType: ['compressed'], //指定压缩
      sourceType: ['album', 'camera'], //从相册选择
      success: (res) => {
        console.log("选择图片成功", res)
        if (this.data.imgList.length != 0) {
          this.setData({
            imgList: this.data.imgList.concat(res.tempFilePaths)
          })
        } else {
          this.setData({
            imgList: res.tempFilePaths
          })
        }
        console.log("路径", this.data.imgList)
      }
    });
  },
  //删除图片
  DeleteImg(e) {
    wx.showModal({
      title: '要删除这张照片吗？',
      content: '',
      cancelText: '取消',
      confirmText: '确定',
      success: res => {
        if (res.confirm) {
          this.data.imgList.splice(e.currentTarget.dataset.index, 1);
          this.setData({
            imgList: this.data.imgList
          })
        }
      }
    })
  },
  
  onLoad: function(Options) {
    let type = Options.type;
    let title = '';
    if(type == 'fix'){
      title = '维修下单';
      this.setData({
        fix: true
      });
    }
    else if(type == 'QC'){
      title = '质检下单'
      this.setData({
        fix: false
      });
    }
    wx.setNavigationBarTitle({
      title: title,
    });
  }

})